[CRE-1924] Support DONtime plugin config in CLD#21299
Conversation
|
👋 bolekk, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
|
✅ No conflicts with other open PRs targeting |
|
There was a problem hiding this comment.
🔴 Test Results: OCR3 Config Digest Mismatch
Affected failures:
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM_LOOPP
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*_LOOPP
What Broke
The introduction of DontimeOffchainConfig to the OracleConfig struct has led to an 'OCR3 config digest mismatch' for CCIP plugins. This issue stems from two related problems: the DontimeOffchainConfig field was not correctly unmarshalled, causing expected offchain configurations to be unset, and the serialization of existing OCR3 configurations was altered due to the new field, leading to incorrect digest calculations.
Proposed Fixes
Update the OracleConfig struct by adding json:",omitempty" tags to relevant fields and modify the UnmarshalJSON method to correctly unmarshal the DontimeOffchainConfig field.
\tMaxFaultyOracles int
- \tConsensusCapOffchainConfig *ConsensusCapOffchainConfig
+ \tConsensusCapOffchainConfig *ConsensusCapOffchainConfig `json:",omitempty"`
- \tChainCapOffchainConfig *ChainCapOffchainConfig
+ \tChainCapOffchainConfig *ChainCapOffchainConfig `json:",omitempty"`
- \tDontimeOffchainConfig *DontimeOffchainConfig
+ \tDontimeOffchainConfig *DontimeOffchainConfig `json:",omitempty"`
} \t\tChainCapOffchainConfig *json.RawMessage `json:"ChainCapOffchainConfig"`
+ \t\tDontimeOffchainConfig *json.RawMessage `json:"DontimeOffchainConfig"`
\t\t*aliasT+
+ \tif temp.DontimeOffchainConfig != nil {
+ \t\tvar c DontimeOffchainConfig
+ \t\tif err := json.Unmarshal(*temp.DontimeOffchainConfig, &c); err != nil {
+ \t\t\treturn fmt.Errorf("failed to unmarshal DontimeOffchainConfig: %w", err)
+ \t\t}
+ \t\toc.DontimeOffchainConfig = &c
+ \t}
\treturn nilAutofix Options
You can apply the proposed fixes directly to your branch. Try the following:
- Comment
/trunk stack-fix lJpQ7P3tto generate a stacked PR with the proposed fixes. - Use MCP in your IDE to fix the issue. Try
Help me fix CI failures from lJpQ7P3tto get started.
Tip
Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.
There was a problem hiding this comment.
🔴 Test Results: Unrelated Failure
Affected failures:
- Workflow Run: Integration Tests
What Broke
The json.Unmarshal operation in the TestConfigureCapabilitiesRegistryInput_YAMLFromFile_DontimeConfig test is populating more than one offchain configuration field in the ocr3.OracleConfig struct. The CI failure is caused by a test that attempts to unmarshal a YAML configuration containing dontimeOffchainConfig into an ocr3.OracleConfig struct. The json.Unmarshal operation incorrectly populates multiple offchain configuration fields in the ocr3.OracleConfig, leading to an error in the getOffchainCfg function which enforces that only one offchain config can be present.
Autofix Options
You can use our MCP server to get AI assistance with debugging and fixing these failures.
- Use MCP in your IDE to debug the issue. Try
Help me fix CI failures from alRWPuOnto get started.
Tip
Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.




No description provided.